var baseUrl = "https://whlgdx.sdkhtyy.cn"

$(function () {
    // 登录页
    if (window.location.pathname === '/web/login.htm') {
        $.get(baseUrl + "/html/login.html").then((res) => {
            $("body").append(res)
        })
    }

    // 统考登录页
    if (window.location.pathname === '/web/tkLogin.htm') {
        $.get(baseUrl + "/html/tkLogin.html").then((res) => {
            $("body").append(res)
        })
    }

    // 考试结果页
    if (window.location.pathname === '/web/showexercise.htm' ||
        window.location.pathname === '/web/tkBeforePracticeHistory.htm' ||
        window.location.pathname === '/web/showBeforePractice.htm'
    ) {
        $.get(baseUrl + "/html/analysis.html").then((res) => {
            $("body").append(res)
        })
    }

    // 考试中页面
    if (window.location.pathname === '/web/exercise.htm') {
        $.get(baseUrl + "/html/subject.html").then((res) => {
            $("body").append(res)
        })
    }

    // 视频播放页面
    if (window.location.pathname === '/web/kpointdetail.htm') {
        $.get(baseUrl + "/html/video.html").then((res) => {
            $("body").append(res)
        })
    }
})

// 解析页面答案
function getSubjectFunc() {
    // 答卷图片转义
    $(".exam-body-right").find("img").each((index, item) => {
        $(item).html("[#img(" + $(item).attr("src") + ")]")
    })

    let subject = []
    // 选择带有答案的题目
    $('.pad_top:contains(正确答案：),.pad_top:contains(错误:)').each((index, item) => {
        let list = []
        $(item).find('label').each((index, item) => {
            list.push($(item).text().trim())
        })

        subject.push({
            key: getKey($(item).find('div:first').text()), // 题目
            value: getValueToArray($(item).find('p:last').text() || $(item).find('div:last').text()), // 答案
            options: list // 选项
        })
    })

    // 如果抓取到了页面的题目则提交到服务器
    if (subject.length > 0) {
        $.post(baseUrl + "/api/save", {
            "subject": subject
        }).then((res) => {
            alert(res.message)
            console.log(res)
        })
    }
}

// 将解析的答案转换为数组
function getValueToArray(str) {
    return str.replace("错误:【", "").replace("】", "").split(";");
}

// 获取格式化后的题目
function getKey(str) {
    return str.substring(str.indexOf("、") + 1).trim()
}

// 切换弹框状态
function switchTopic() {
    btn = $(".topic-btn")
    if (btn.text() === "隐藏") {
        $(".topic").css("right", "-300px")
        btn.text("显示")
    } else {
        $(".topic").css("right", "0px")
        btn.text("隐藏")
    }
}

// 获取答案
async function getValueFunc() {
    var keyword = $("#keyword-input").val()
    if (keyword.length === 0) {
        alert("请输入关键字")
    } else {
        var res = await $.post(baseUrl + "/api/get", {
            "keyword": keyword
        })
        if (res.code !== 0) {
            alert(res.message)
            return
        }
        initValues(res.data)
        return res
    }
}

// 加载答案
function initValues(data) {
    $(".subject-item").remove()
    data.forEach((item, index) => {
        $(".table-container").append(' <div class="subject-item subject-first"><div>题目:</div><div>' + item.key + '</div></div>')
        $(".table-container").append(' <div class="subject-item"><div>答案:</div><div>' + item.value + '</div></div>')
        $(".table-container").append(' <div class="subject-item subject-last"><div>选项:</div><div>' + item.options + '</div></div>')
    })
}

// 自动考试
async function autoExam() {
    alert("开始答题！")
    $("#shijuandiv").find("img").each((index, item) => {
        $(item).html("[#img(" + $(item).attr("src") + ")]")
    })
    var nodes = $('#shijuandiv > .pad_top')
    for (let i = 0; i < nodes.length; i++) {
        var item = nodes[i]
        let title = $($(item).find('div').first()).text().trim()
        $("#keyword-input").val(title.substring(title.indexOf('、') + 1, title.length))
        var res = await getValueFunc()
        if (res.data.length <= 0) {
            continue
        }
        var options = JSON.parse(res.data[0].value)
        console.log("题目：" + title)
        console.log("答案：" + options)
        await sleep(500)
        for (let j = 0; j < options.length; j++) {
            var option = options[j]
            var obj = $($(item).find('div').last()).find('input[value=' + option + ']')
            if (option === 'A' && obj.length <= 0) {
                obj = $($(item).find('div').last()).find('input[value=正确]')
            } else if (option === 'B' && obj.length <= 0) {
                obj = $($(item).find('div').last()).find('input[value=错误]')
            }
            if (!obj.is(":checked")) {
                obj.click()
                await sleep(200)
            }
        }
    }
    alert("答题完毕！")
}

// 刷播放时长
function setVideoTime() {
    alert("此功能对服务器压力较大，已被删除！请联系管理员手动刷课！")
}

// 倍速播放弹窗
function defaultVideo() {
    alert("当前视频倍速已开启，暂时无法修改倍速，请刷新页面后重新设置速度！")
}

// 下载文档
function downloadDoc() {
    window.open(baseUrl + "/file/武汉理工大学继续教育学院作业辅助工具.pdf")
}

// 下载文档
function downloadDocTk() {
    window.open(baseUrl + "/file/武汉理工大学继续教育学院作业辅助工具(统考).pdf")
}

// 延迟函数
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms || 1000))
}
